//
//  NSString+Encrypt.h
//  category
//
//  Created by MAC on 2018/5/12.
//  Copyright © 2018年 MAC. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Encrypt)

/**
 *  AES加密数据
 *  @param key 长度一般为16（AES算法所能支持的密钥长度可以为128,192,256位（也即16，24，32个字节））
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_encryptedWithAESUsingKey:(NSString*)key andIV:(NSData*)iv;
/**
 *  AES解密数据
 *  @param key 长度一般为16
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_decryptedWithAESUsingKey:(NSString*)key andIV:(NSData*)iv;

/**
 *  DES加密数据
 *  @param key 长度一般为8
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_encryptedWithDESUsingKey:(NSString*)key andIV:(NSData*)iv;
/**
 *  DE解密数据
 *  @param key 长度一般为8
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_decryptedWithDESUsingKey:(NSString*)key andIV:(NSData*)iv;

/**
 *  3DES加密数据
 *  @param key 长度一般为24
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_encryptedWith3DESUsingKey:(NSString*)key andIV:(NSData*)iv;
/**
 *  3DES解密数据
 *  @param key 长度一般为24
 *  @param iv  iv
 *  @return data
 */
- (NSString*)ex_decryptedWith3DESUsingKey:(NSString*)key andIV:(NSData*)iv;

@end
